/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//for the register page
var correct_color = "#D6EFD1";
var error_color = "#FFDBDB";
var pNum = new RegExp("^[0-9]+$");
var pFloat = new RegExp("^[0-9.]+$");
var pAlpha = new RegExp("^[A-Za-z]+$");
var pAlphaNum = new RegExp("^[A-Za-z0-9]+$");
var pEmail = new RegExp("^[A-Za-z0-9._%'-]+@[A-Za-z0-9.-]+\\.[a-zA-Z]{2,4}$");

$('#register-form').ready(function(){
    $("#register-uname").keyup(function(){
        if( ($(this).val().length < 4 || $(this).val().length > 25) || !pAlphaNum.test( $(this).val() ) ){
            $(this).css("background-color", error_color);
            $("#register-error-uname").fadeIn("fast");
        }
        else if( $(this).val().length >= 4 && $(this).val().length <= 25 && pAlphaNum.test( $(this).val() ) ){
            $(this).css("background-color", correct_color);
            $("#register-error-uname").fadeOut("fast");
        }
    });
    
    $("#register-pw1").keyup(function(){
        if( $(this).val().length < 8 || $(this).val().length > 25 ){
            $(this).css("background-color", error_color);
            $("#register-error-pw").fadeIn("fast");
        }
        else if( $(this).val().length >= 8 && $(this).val().length <= 25 ){
            $("#register-error-pw").fadeOut("fast");
        }
        
        if( $(this).val() != $("#register-pw2").val() ){
            $(this).css("background-color", error_color);
            $("#register-pw2").css("background-color", error_color);
            $("#register-error-pw-same").fadeIn("fast");
        }
        else if( $(this).val() == $("#register-pw2").val() ){
            $("#register-error-pw-same").fadeOut("fast");
        }
        
        if( $(this).val().length >= 8 && $(this).val().length <= 25 && $(this).val() == $("#register-pw2").val() ){
            $(this).css("background-color", correct_color);
            $("#register-pw2").css("background-color", correct_color);
        }
    });
    
    $("#register-pw2").keyup(function(){
        if( $(this).val().length < 8 || $(this).val().length > 25 ){
            $(this).css("background-color", error_color);
            $("#register-error-pw").fadeIn("fast");
        }
        else if( $(this).val().length >= 8 && $(this).val().length <= 25 ){
            $("#register-error-pw").fadeOut("fast");
        }
        
        if( $(this).val() != $("#register-pw1").val() ){
            $(this).css("background-color", error_color);
            $("#register-pw1").css("background-color", error_color);
            $("#register-error-pw-same").fadeIn("fast");
        }
        else if( $(this).val() == $("#register-pw1").val() ){
            $("#register-error-pw-same").fadeOut("fast");
        }
        
        if( $(this).val().length >= 8 && $(this).val().length <= 25 && $(this).val() == $("#register-pw1").val() ){
            $(this).css("background-color", correct_color);
            $("#register-pw1").css("background-color", correct_color);
        }
    });
    
    $("#register-email").keyup(function(){
        
        if( !pEmail.test( $(this).val() ) ){
            $(this).css("background-color", error_color);
            $("#register-error-email").fadeIn("fast");
        }
        else if( pEmail.test( $(this).val() ) ){
            $(this).css("background-color", correct_color);
            $("#register-error-email").fadeOut("fast");
        }
    });
    
    $("#register-lname").keyup(function(){
        if( $(this).val().length > 25 ){
            $(this).css("background-color", error_color);
            $("#register-error-name").fadeIn("fast");
        }
        else if( $(this).val().length <= 25 ){
            $(this).css("background-color", correct_color);
            
            if( $("#register-fname").val().length <= 25 && $("#register-minitial").val().length == 1 ){
                $("#register-error-name").fadeOut("fast");
            }
        }
    });
    
    $("#register-fname").keyup(function(){
        if( $(this).val().length > 25 ){
            $(this).css("background-color", error_color);
            $("#register-error-name").fadeIn("fast");
        }
        else if( $(this).val().length <= 25 ){
            $(this).css("background-color", correct_color);
            
            if( $("#register-lname").val().length <= 25 && $("#register-minitial").val().length == 1 ){
                $("#register-error-name").fadeOut("fast");
            }
        }
    });
    
    $("#register-minitial").keyup(function(){
        if( $(this).val().length > 1 ){
            $(this).css("background-color", error_color);
            $("#register-error-name").fadeIn("fast");
        }
        else if( $(this).val().length <= 1 ){
            $(this).css("background-color", correct_color);
            
            if( $(this).val().length <= 25 && $("#register-lname").val().length <= 25 ){
                $("#register-error-name").fadeOut("fast");
            }
        }
    });
    
    $("#register-add").keyup(function(){
        if( $(this).val().length == 0 || $(this).val().length > 45 ){
            $(this).css("background-color", error_color);
            $("#register-error-add").fadeIn("fast");
        }
        else if( $(this).val().length > 0 && $(this).val().length <= 45 ){
            $(this).css("background-color", correct_color);
            $("#register-error-add").fadeOut("fast");
        }
    });
    
    $("#register-country").change(function(){
        if( $(this).val() == "" ){
            $("#register-error-country").fadeIn("fast");
        }
        else{
            $("#register-error-country").fadeOut("fast");
        }
    });
    
    $("#register-zip").keyup(function(){

            if( $(this).val().length != 4 || !pNum.test( $(this).val() ) ){
                $(this).css("background-color", error_color);
                $("#register-error-zip").fadeIn("fast");
            }
            else if( $(this).val().length == 4 && pNum.test( $(this).val() ) ){
                $(this).css("background-color", correct_color);
                $("#register-error-zip").fadeOut("fast");
            }
    });
    
});

$("#profile-form").ready(function(){
    $("#profile-lname").keyup(function(){
        if( $(this).val().length > 25 ){
            $(this).css("background-color", error_color);
            $("#profile-error-name").fadeIn("fast");
        }
        else if( $(this).val().length <= 25 ){
            $(this).css("background-color", correct_color);
            
            if( $("#profile-fname").val().length <= 25 && $("#profile-minitial").val().length == 1 ){
                $("#profile-error-name").fadeOut("fast");
            }
        }
    });
    
    $("#profile-fname").keyup(function(){
        if( $(this).val().length > 25 ){
            $(this).css("background-color", error_color);
            $("#profile-error-name").fadeIn("fast");
        }
        else if( $(this).val().length <= 25 ){
            $(this).css("background-color", correct_color);
            
            if( $("#profile-lname").val().length <= 25 && $("#profile-minitial").val().length == 1 ){
                $("#profile-error-name").fadeOut("fast");
            }
        }
    });
    
    $("#profile-minitial").keyup(function(){
        if( $(this).val().length > 1 ){
            $(this).css("background-color", error_color);
            $("#profile-error-name").fadeIn("fast");
        }
        else if( $(this).val().length <= 1 ){
            $(this).css("background-color", correct_color);
            
            if( $(this).val().length <= 25 && $("#profile-lname").val().length <= 25 ){
                $("#profile-error-name").fadeOut("fast");
            }
        }
    });
    
    $("#profile-email").keyup(function(){
        
        if( !pEmail.test( $(this).val() ) ){
            $(this).css("background-color", error_color);
            $("#profile-error-email").fadeIn("fast");
        }
        else if( pEmail.test( $(this).val() ) ){
            $(this).css("background-color", correct_color);
            $("#profile-error-email").fadeOut("fast");
        }
    });
    
    $("#profile-add").keyup(function(){
        if( $(this).val().length == 0 || $(this).val().length > 45 ){
            $(this).css("background-color", error_color);
            $("#profile-error-add").fadeIn("fast");
        }
        else if( $(this).val().length > 0 && $(this).val().length <= 45 ){
            $(this).css("background-color", correct_color);
            $("#profile-error-add").fadeOut("fast");
        }
    });
    
    $("#profile-zip").keyup(function(){
        var pattern = new RegExp("^[0-9]+$");

            if( $(this).val().length != 4 || !pattern.test( $(this).val() ) ){
                $(this).css("background-color", error_color);
                $("#profile-error-zip").fadeIn("fast");
            }
            else if( $(this).val().length == 4 && pattern.test( $(this).val() ) ){
                $(this).css("background-color", correct_color);
                $("#profile-error-zip").fadeOut("fast");
            }
    });
});

$("#create-manager-form").ready(function(){
    $("#manager-uname").keyup(function(){
        if( $(this).val().length < 4 || $(this).val().length > 25 ){
            $(this).css("background-color", error_color);
            $("#manager-error-uname").fadeIn("fast");
        }
        else if( $(this).val().length >= 4 && $(this).val().length <= 25 ){
            $(this).css("background-color", correct_color);
            $("#manager-error-uname").fadeOut("fast");
        }
    });
    
    $("#manager-pw1").keyup(function(){
        if( $(this).val().length < 8 || $(this).val().length > 25 ){
            $(this).css("background-color", error_color);
            $("#manager-error-pw").fadeIn("fast");
        }
        else if( $(this).val().length >= 8 && $(this).val().length <= 25 ){
            $("#manager-error-pw").fadeOut("fast");
        }
        
        if( $(this).val() != $("#manager-pw2").val() ){
            $(this).css("background-color", error_color);
            $("#manager-pw2").css("background-color", error_color);
            $("#manager-error-pw-same").fadeIn("fast");
        }
        else if( $(this).val() == $("#manager-pw2").val() ){
            $("#manager-error-pw-same").fadeOut("fast");
        }
        
        if( $(this).val().length >= 8 && $(this).val().length <= 25 && $(this).val() == $("#manager-pw2").val() ){
            $(this).css("background-color", correct_color);
            $("#manager-pw2").css("background-color", correct_color);
        }
    });
    
    $("#manager-pw2").keyup(function(){
        if( $(this).val().length < 8 || $(this).val().length > 25 ){
            $(this).css("background-color", error_color);
            $("#manager-error-pw").fadeIn("fast");
        }
        else if( $(this).val().length >= 8 && $(this).val().length <= 25 ){
            $("#manager-error-pw").fadeOut("fast");
        }
        
        if( $(this).val() != $("#manager-pw1").val() ){
            $(this).css("background-color", error_color);
            $("#manager-pw1").css("background-color", error_color);
            $("#manager-error-pw-same").fadeIn("fast");
        }
        else if( $(this).val() == $("#manager-pw1").val() ){
            $("#manager-error-pw-same").fadeOut("fast");
        }
        
        if( $(this).val().length >= 8 && $(this).val().length <= 25 && $(this).val() == $("#manager-pw1").val() ){
            $(this).css("background-color", correct_color);
            $("#manager-pw1").css("background-color", correct_color);
        }
    });
});

$("#create-product-form").ready(function(){
    $("#product-name").keyup(function(){
        if( $(this).val().length == 0 || $(this).val().length > 45 ){
            $(this).css("background-color", error_color);
            $("#product-panel-name").fadeIn("fast");
        }
        else if( $(this).val().length > 0 && $(this).val().length <= 45 ){
            $(this).css("background-color", correct_color);
            $("#product-panel-name").fadeOut("fast");
        }
    });
    
    $("#product-synopsis").keyup(function(){
        if( $(this).val().length > 512 ){
            $(this).css("background-color", error_color);
            $("#product-panel-synopsis").fadeIn("fast");
        }
        else if( $(this).val().length == 0 ){
            $(this).css("background-color", error_color);
            $("#product-panel-synopsis-none").fadeIn("fast");
        }
        else if( $(this).val().length > 0 && $(this).val().length <= 512 ){
            $(this).css("background-color", correct_color);
            $("#product-panel-synopsis").fadeOut("fast");
        }
    });
    
    $("#product-genre").change(function(){
        if( $(this).val() == "" ){
            $("#product-panel-genre").fadeIn("fast");
        }
        else{
            $("#product-panel-genre").fadeOut("fast");
        }
    });
    
    $("#product-type").change(function(){
        if( $(this).val() == "" ){
            $("#product-panel-type").fadeIn("fast");
        }
        else{
            $("#product-panel-type").fadeOut("fast");
        }
    });
    
    $("#product-price").keyup(function(){
        
        if( $(this).val().length == 0 || !pNum.test( $(this).val() ) ){
            $(this).css("background-color", error_color);
            $("#product-panel-price").fadeIn("fast");
        }
        else if( $(this).val().length > 0 && pNum.test( $(this).val() ) ){
            $(this).css("background-color", correct_color);
            $("#product-panel-price").fadeOut("fast");
        }
    });
});

$("#edit-product-form").ready(function(){
    $("#edit-product-name").keyup(function(){
        if( $(this).val().length == 0 || $(this).val().length > 45 ){
            $(this).css("background-color", error_color);
            $("#edit-product-name-error").fadeIn("fast");
        }
        else if( $(this).val().length > 0 && $(this).val().length <= 45 ){
            $(this).css("background-color", correct_color);
            $("#edit-product-name-error").fadeOut("fast");
        }
    });
    
    $("#edit-product-synopsis").keyup(function(){
        if( $(this).val().length > 512 ){
            $(this).css("background-color", error_color);
            $("#edit-product-synopsis-error").fadeIn("fast");
        }
        else if( $(this).val().length == 0 ){
            $(this).css("background-color", error_color);
            $("#edit-product-synopsis-error-none").fadeIn("fast");
        }
        else if( $(this).val().length <= 512 ){
            $(this).css("background-color", correct_color);
            $("#edit-product-synopsis-error").fadeOut("fast");
        }
        else if( $(this).val().length > 0 ){
            $(this).css("background-color", correct_color);
            $("#edit-product-synopsis-error-none").fadeOut("fast");
        }
    });
    
    $("#edit-product-genre").change(function(){
        if( $(this).val() == "" ){
            $("#edit-product-genre-error").fadeIn("fast");
        }
        else{
            $("#edit-product-genre-error").fadeOut("fast");
        }
    });
    
    $("#edit-product-type").change(function(){
        if( $(this).val() == "" ){
            $("#edit-product-type-error").fadeIn("fast");
        }
        else{
            $("#edit-product-type-error").fadeOut("fast");
        }
    });
    
    $("#edit-product-price").keyup(function(){
        
        if( $(this).val().length == 0 || !pFloat.test( $(this).val() ) ){
            $(this).css("background-color", error_color);
            $("#edit-product-price-error").fadeIn("fast");
        }
        else if( $(this).val().length > 0 && pFloat.test( $(this).val() ) ){
            $(this).css("background-color", correct_color);
            $("#edit-product-price-error").fadeOut("fast");
        }
    });
});

$("#buy-form").ready(function(){
    
    $("#buy-credit-num").keyup(function(){
        if( ($(this).val().length < 16 || !pNum.test( $(this).val() )) &&
            ($(this).val().substr(0, 2) != 55 || $(this).val().substr(0, 1) != 4) ){
            
            $(this).css("background-color", error_color);
            $("#buy-credit-error").fadeIn("fast");
        }
        else if( $(this).val().length == 16 && pNum.test( $(this).val() ) &&
            ($(this).val().substr(0, 2) == 55 || $(this).val().substr(0, 1) == 4) ){
            
            $(this).css("background-color", correct_color);
            $("#buy-credit-error").fadeOut("fast");
        }
        
    });
    
    $("#buy-verification").keyup(function(){
        
        if( $(this).val().length < 3 || !pNum.test( $(this).val() ) ){
            $(this).css("background-color", error_color);
            $("#buy-verification-error").fadeIn("fast");
        }
        else if( $(this).val().length == 3 && pNum.test( $(this).val() ) ){
            $(this).css("background-color", correct_color);
            $("#buy-verification-error").fadeOut("fast");
        }
    });
    
});
